﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BFOAuction.BLL.Product;
using BFOAuction.DTO.Product;
using System.Data;

namespace BFOAuction.Product
{
    public partial class wfrmProductType : System.Web.UI.Page
    {
        #region Khai báo biến
        AppFormat.MyError objError = null;
        
        #endregion

        #region Các hám sự kiện
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadData();
            }            
        }

        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            if (!Check()) return;
            Update();
        }

        protected void Grid_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            txtProductTypeID.Text = Grid.SelectedRow.Cells[1].Text;
            txtProductTypeName.Text = Grid.SelectedRow.Cells[2].Text;
            if (Grid.SelectedRow.Cells[3].Text != "&nbsp;")
                txtNote.Text = Grid.SelectedRow.Cells[3].Text;
            else
                txtNote.Text = string.Empty;
        }

        protected void btnUndo_Click(object sender, EventArgs e)
        {
            ClearData();
        }

        protected void btnDelete_Click(object sender, EventArgs e)
        {
            Delete();
        }

        #endregion

        #region Các hàm hổ trợ

        private bool Check()
        {
            if (txtProductTypeID.Text.Trim().Length == 0)
            {
                AppFormat.ShowMessage.ShowMsg("Vui lòng nhập mã loại sản phẩm!");
                txtProductTypeID.Focus();
                return false;
            }
            if (txtProductTypeName.Text.Trim().Length == 0)
            {
                AppFormat.ShowMessage.ShowMsg("Vui lòng nhập tên loại sản phẩm!");
                txtProductTypeName.Focus();
                return false;
            }
            return true;
        }

        private void ClearData()
        {
            
            txtProductTypeID.Text = string.Empty;
            txtProductTypeName.Text = string.Empty;
            txtNote.Text = string.Empty;
            txtProductTypeID.Focus();
        }

        private void LoadData()
        {
            objError = new AppFormat.MyError();
            DataTable dt=null;
            objError = new BLL_ProductType().Search(ref dt);
            if (objError.IsError)
            {
                AppFormat.ShowMessage.ShowMsg(objError.MessageError);
                return;
            }
            if (dt != null)
            {
                dt.TableName = "ProductType";
                Grid.DataSource = dt;
                Grid.DataBind();
            }
        }

        private bool Update()
        {
            objError = new AppFormat.MyError();
            ProductType objProductType = new ProductType();
            objProductType.ProductTypeID = txtProductTypeID.Text.Trim();
            objProductType.ProductTypeName = txtProductTypeName.Text.Trim();
            objProductType.Note = txtNote.Text.Trim();
            objError = new BLL_ProductType().Insert(objProductType);

            if (objError.IsError)
            {
                AppFormat.ShowMessage.ShowMsg(objError.MessageError);
                return false;
            }
            //AppFormat.ShowMessage.ShowMsgInfo("Thêm loại sản phẩm thành công!");
            Response.Write("<script>alert('Thêm loại sản phẩm thành công!')</script>");
            ClearData();
            LoadData();
            return true;
        }

        private bool Delete()
        {
            if (Grid.SelectedIndex < 0) return false;
            if (Grid.SelectedRow.Cells[0].Text.Trim().Length == 0) return false;
            objError = new AppFormat.MyError();
            objError = new BLL_ProductType().Delete(Grid.SelectedRow.Cells[0].Text);
            if (objError.IsError)
            {
                AppFormat.ShowMessage.ShowMsg(objError.MessageError);
                return false;
            }
            Response.Write("<script>alert('Xóa loại sản phẩm thành công!')</script>");
            LoadData();
            ClearData();
            return true;
        }
        
        #endregion                        
                                
    }
}